home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir35 / bdiff11.zip / README.BDF < prev   
Text File  |  1994-08-25  |  9KB  |  240 lines

  1. BinDiff V1.1
  2. ------------
  3.  
  4. Kris Coppieters
  5. Weversstraat 23
  6. B-8500 Kortrijk
  7. Belgium
  8. Europe
  9.  
  10. CompuServe: 100025,2724
  11. Internet  : 100025.2724@compuserve.com
  12.  
  13. Archive contents
  14. ----------------
  15.  
  16. BINDIFF.DIF             A DIF file that allows you to create BINDIFF.EXE
  17. BDEXTR.COM              A DIF file decoder
  18. README.BDF              The file you're reading
  19. MKBINDIF.BAT            A batch file that creates BINDIFF.EXE from BINDIFF.DIF
  20.  
  21. Keep these four files together when redistributing!
  22.  
  23. What is BinDiff ?
  24. -----------------
  25.  
  26. BinDiff is a program that is complementary to compression programs like PKZIP
  27. and LHARC: it can be used to get higher compression rates (e.g. 10 x on large
  28. .EXE files). It is useful when sending large files over slow communication
  29. links, or when archiving multiple versions of a file in a condensed way.
  30.  
  31. An example shows how BinDiff works: assume you downloaded version 1
  32. of a .EXE file from a BBS (in compressed or uncompressed form). Some time
  33. later, version 2 appears. The author of the program can use BinDiff to create
  34. a difference file that contains only the differences between the two versions;
  35. this difference file will be small if there is not too much change.
  36.  
  37. You download the difference file (also in compressed or uncompressed form)
  38. and use BinDiff to create a version 2 .EXE file, using the version 1
  39. .EXE file you already had, and the downloaded difference file.
  40.  
  41. BinDiff works on all types of files: text files, binary files,...
  42. It encodes similarities between the two files, even if parts of
  43. one of the files are shuffled in a different order relatively to the other
  44. file.
  45.  
  46. It will NOT work well on compressed files: use BinDiff only on
  47. uncompressed files. Compressed files lack the structure needed by the
  48. algorithm.
  49.  
  50. Creating ('encoding') a difference file is memory-consuming and can be slow,
  51. but the reverse process ('decoding') is very fast and needs very little
  52. memory.
  53.  
  54. BinDiff looks a bit like the diff program on Unix, but unlike diff, this
  55. program works on all file types.
  56.  
  57. The diff file is NOT compressed, so you can gain extra space by compressing
  58. the diff file with a normal compression program like LHARC or PKZIP. I chose
  59. not to include compression in BinDiff, because it would be hard to do it
  60. at least as well as dedicated programs: BinDiff is a diff creator, no more
  61. and no less.
  62.  
  63. How to use it ?
  64. ---------------
  65.  
  66. BinDiff can be used from the command line with the following syntax:
  67.  
  68.   BINDIFF <diff> = <updated> - <original>
  69.  
  70. or
  71.  
  72.   BINDIFF <updated> = <original> + <diff>
  73.  
  74. where <diff>, <updated>, <orginal> are the names of the files involved.
  75. You must enter the =, +, - signs with leading and trailing spaces,
  76. otherwise they won't be recognized.
  77.  
  78. BINDIFF.EXE allows you to both encode (-) and decode (+) diff files.
  79.  
  80. BDEXTR.COM is a reduced version of BINDIFF.EXE: BDEXTR uses the same
  81. syntax as BINDIFF, but only allows the addition of an original and
  82. a diff file.
  83.  
  84. BDEXTR.COM can be distributed separated from this package for free: there
  85. is no licensing fee for BDEXTR.COM: you are allowed to distribute BDEXTR.COM
  86. together with your DIF files.
  87.  
  88. No particular extension for DIF files is enforced, but I propose to use
  89. the extension .DIF.
  90.  
  91. Some examples
  92. -------------
  93.  
  94. * Example: BINDIFF.EXE is not included in the package. Instead, you get
  95. BINDIFF.DIF, which results from BINDIFF.EXE - BDEXTR.COM. To recreate
  96. BINDIFF.EXE, you have to execute the following command (don't forget
  97. to type the spaces surrounding the = and the +):
  98.  
  99.   BDEXTR BINDIFF.EXE = BDEXTR.COM + BINDIFF.DIF
  100.  
  101. This applies the dif file to BDEXTR.COM and creates BINDIFF.EXE.
  102. There is no big advantage in distributing BINDIFF.EXE this way: it is meant
  103. as an example. However, if you compare the archived sizes of BINDIFF.DIF
  104. and BINDIFF.EXE using LHARC or PKZIP, you see that a few hundred extra bytes
  105. are saved by using BINDIFF.DIF.
  106.  
  107. * Example: X1.EXE and X2.EXE are two versions of a program; you want
  108. to send X2.EXE to your friend who already has X1.EXE.
  109.  
  110. Enter the following command line (including spaces).
  111.  
  112.   BINDIFF UPGR12.DIF = X2.EXE - X1.EXE
  113.  
  114. This creates the file UPGR12.DIF; you PKZIP this file and send it to your
  115. friend. Your friend uses the command
  116.  
  117.   BINDIFF X2.EXE = X1.EXE + UPGR12.DIF
  118.  
  119. or
  120.  
  121.   BDEXTR X2.EXE = X1.EXE + UPGR12.DIF
  122.  
  123. to recreate the file X2.EXE.
  124.  
  125. * Example: by using the FOR command in MSDOS, you can create a set of difference
  126. files for pairs of files stored in different directories. Suppose C:\DATA\ORG
  127. is a directory containing the original files, C:\DATA\UPD the directory
  128. containing the updated files, and C:\DATA\DIFF a directory to contain the
  129. difference files. Use the follwing batch file
  130.  
  131.   C:
  132.   CD \DATA\ORG
  133.   FOR %%I IN (*.*) DO BINDIFF C:\DATA\DIFF\%%I = C:\DATA\UPD\%%I - %%I
  134.  
  135. * Example: if you want to keep a single diff for a set of files, you can
  136. use one of the 'tar' or 'ar' programs available on MSDOS to create a single
  137. uncompressed archive and then use BinDiff to create a diff between this
  138. archive and a previous version. You cannot use PKZIP or LHARC because they
  139. compress and give BinDiff very little chance to find similarities between
  140. two archives.
  141.  
  142. Some extra info
  143. ---------------
  144.  
  145. Check the size of the resulting difference file: if it almost the same size
  146. as the original file, you might be better off not using the diff at all.
  147.  
  148. BinDiff is meant to work cross-platform with Mac. I will release a Macintosh
  149. version shortly.
  150.  
  151. Error messages
  152. --------------
  153.  
  154.   'Cannot open file <file name>'
  155.  
  156. Explanation: for some reason this file cannot be opened. Possible causes:
  157. misspelled file name, locked volumes, unexisting directories,...
  158.  
  159.   'Cannot reopen file <file name>'
  160.  
  161. Explanation: for some reason the decoded file cannot be reopened for
  162. checksum calculation. The resulting file may be ok, but was not checked.
  163.  
  164.   'File <file name> lacks usable structure for this algorithm - sorry!'
  165.  
  166. Explanation: Some file types (compressed files, images, sounds) are too random
  167. in nature for BinDiff. Use other means to compress them.
  168.  
  169.   'Out of memory.'
  170.  
  171. The files involved are too large for BinDiff to process. Release as much
  172. memory as you can by commenting drivers in CONFIG.SYS and TSR's in AUTOEXEC.BAT,
  173. and by reducing memory-related settings (FILES,BUFFERS,STACKS,...).
  174. Otherwise, use a version of BinDiff running on a platform without 640K
  175. memory limit (OS/2, Macintosh, Unix).
  176.  
  177.   '<file name> is not a recognisable diff file.'
  178.  
  179. Explanation: diff file is not the right format. Possible causes: misspelled
  180. file name, the file looks like a diff but is not one (or comes from another
  181. program),...
  182.  
  183.   '<file name> is not the file the diff was created with.'
  184.  
  185. Explanation: the original file used to create the diff had different
  186. contents from the original file you're using to apply the diff to.
  187.  
  188.   'Unknown tag in diff file - possibly created by a more recent BinDiff.'
  189.  
  190. Explanation: BinDiff uses a tagged dif file format, and encountered
  191. a tag it does not recognise. Either this file is not a dif file, or
  192. maybe it got corrupted, or it was created with a more recent version
  193. of BinDiff.
  194.  
  195.   '<filename> is corrupt.'
  196.  
  197. Explanation: After decoding a file, BinDiff checks the result. If there
  198. is a checksum error, the file is corrupt and likely to be unusable.
  199. The most probable cause is a corrupt .DIF file.
  200.  
  201. Copying and licensing
  202. ---------------------
  203.  
  204. BinDiff is provided as is, without any expressed or implied warranty, and can
  205. be freely used for non-commercial purposes. When re-distributing, you have to
  206. distribute these four files in a single archive: BDEXTR.COM, BINDIFF.DIF,
  207. README.BDF, MKBINDIF.BAT.
  208.  
  209. BDEXTR.COM can be distributed together with your DIF files for free.
  210.  
  211. If you use this program for non-commercial purposes, and you find it useful,
  212. I would be very pleased to receive a postcard or an e-mail.
  213. This gives me an indication of the usefulness of my program, and encourages
  214. me to improve it.
  215.  
  216. When creating diffs for large files, BinDiff might run out of memory on MS-DOS
  217. platforms. If you have an OS/2, Unix or big Macintosh system nearby, a version
  218. running on one of those platforms can be used to encode the diff files: no
  219. 640 K limit is hindering BinDiff's performance.
  220.  
  221. The resulting files are portable to MSDOS, so the decoding will work on MS-DOS,
  222. as decoding needs very little memory and performance. Contact me if you need
  223. a version for one of these other platforms.
  224.  
  225. For commercial purposes or source licenses, please contact me by mail or e-mail.
  226.  
  227. I can create custom versions of BinDiff on demand, tuned to specific file types
  228. (e.g. very large database files: this version of BinDiff is not made for this
  229. type of file: it is too slow and memory-intensive for very large files).
  230.  
  231. Change history
  232. --------------
  233.  
  234. BinDiff 1.0 released on 22 july 1994.
  235.  
  236. BinDiff 1.1 uses a better and faster algorithm than BinDiff 1.0. The files
  237. are not interchangable; BinDiff 1.1 is a completely different program.
  238.  
  239. Kris Coppieters - 20 august 1994 - Kortrijk, Belgium.
  240.